Apparatus for reproducing AV data in interactive mode, method of handling user input, and information storage medium therefor

ABSTRACT

An apparatus reproduces AV data in an interactive mode, a method handles a user input, and an information storage medium stores information therefor. The information storage medium includes AV data and a markup document utilized to reproduce the AV data in an interactive mode. The markup document includes first event information of an occurrence of a key input event corresponding to a user action to inform, by default, an AV playback engine, which plays back the AV data. Accordingly, interactive contents may be controlled using a limited user input device.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the priority of Korean Patent ApplicationNos. 2002-50524, 2002-73476, and 2003-57991, filed on August 26 and Nov.25, 2002 and Aug. 21, 2003, in the Korean Intellectual Property Office,the disclosures of which are incorporated herein in their entireties byreference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to an apparatus for reproducing AVdata in an interactive mode, a method of handling a user input, and aninformation storage medium therefor.

[0004] 2. Description of the Related Art

[0005] Digital versatile discs (DVDs), which are capable of playing backAV data in an interactive mode based on a personal computer (PC), arebeing sold in the marketplace. On interactive DVDs, AV data is recordedaccording to DVD-Video standards in addition to markup documents forsupporting an interactive function. AV data recorded on an interactiveDVD may be displayed in two modes: a video mode wherein AV data isdisplayed in the same way as general DVD-Video data and an interactivemode wherein an AV picture from AV data is embedded in a display windowdefined in a markup document to be displayed along with a markupdocument. For example, in a case wherein AV data is a movie title, themovie title is shown in a display window of a screen and variousadditional pieces of information such as scripts, plots, photos ofactors and actresses, and the like are displayed on the remainingportion of the screen. Alternatively, the various additional informationmay be displayed in synchronization with the title (AV data). Forexample, when a specific actor or actress appears in the title, a markupdocument containing information on his or her background may bedisplayed.

[0006] The interactive mode requires two playback engines, i.e., aplayback engine for interpreting and presenting a markup document and anAV playback engine for playing back AV data of a DVD-Video format. Inother words, two large domains, which may be navigated by a user, i.e.,a markup document and DVD-Video data, exist in the interactive mode.Since the two domains are controlled and navigated by different methods,it is preferable that a control key and a navigation key existseparately. In a case of a conventional interactive DVD, a browser builtin a PC serves as a playback engine for playing back a markup documentand user input devices of the PC, i.e., a keyboard with relatively manyinput keys and a mouse capable of pointing anywhere in the markupdocument, serve as navigation keys.

[0007] However, in an event that a home device, which is controlled by auser input device such as a remote control with limited keys andsupports the interactive mode, is desired to be realized, the use ofindividual navigation keys is not efficient.

SUMMARY OF THE INVENTION

[0008] The present invention provides an apparatus which reproduces AVdata in an interactive mode by effectively handling a user input using auser input device with a limited number of keys, a method which handlesthe user input, and an information storage medium which storesinformation therefor.

[0009] A reproducing apparatus manages a user input in a predeterminedmanner so that an interactive content maker makes interactive contentswith which a user may further effectively interact. In addition, amethod handles the user input, and an information storage medium storesinformation therefor.

[0010] According to an aspect of the present invention, an informationstorage medium includes AV data and a markup document necessary toreproduce the AV data in an interactive mode. The markup documentincludes first event information to inform by default an AV playbackengine, which plays back the AV data, of an occurrence of a key inputevent corresponding to a user action.

[0011] The first event information may include event registrationinformation to check whether the user performed the action and eventhandling information to handle the event by controlling an operation ofthe AV playback engine when the key input event occurs.

[0012] The event registration information may be recorded using anon-click event defined in the markup document, and the event handlinginformation may be created by a function to allow the AV playback engineto perform an operation corresponding to the on-click event, or theevent registration information may be recorded using a key input eventlistener to check whether the key input event occurs, and the eventhandling information may be recorded using a key input event handler tocontrol the operation of the AV playback engine.

[0013] The AV playback engine may be informed of the occurrence of thekey input event via an ENAV engine that interprets and executes themarkup document.

[0014] The markup document may include second event information toprohibit the AV playback engine, which decodes the AV data, from beinginformed of the occurrence of the key input event.

[0015] According to another aspect of the present invention, a methodhandles a user input in an interactive mode in which played back AV datais displayed with a markup document. When a key input eventcorresponding to a user action occurs, an ENAV engine, which interpretsand executes the markup document, is informed of the occurrence of thekey input event. By default, the ENAV engine informs an AV playbackengine of the occurrence of the key input event, and the AV playbackengine plays back the AV data.

[0016] According to still another aspect of the present invention, amethod handles a user input in an interactive mode in which played backAV data is displayed with a markup document. An AV playback engine,which decodes the AV data, is informed by default of an occurrence of akey input event corresponding to a user action. When a second eventoccurs using second event information recorded in the markup document,the AV playback engine is prohibited from being informed of theoccurrence of the key input event.

[0017] According to yet another aspect of the present invention, anapparatus reproduces AV data in an interactive mode. The apparatusincludes an AV playback engine that plays back the AV data and an ENAVengine that interprets and executes a markup document. When a key inputevent corresponding to a user action occurs, the ENAV engine informs, bydefault, the AV playback engine of the occurrence of the key inputevent.

[0018] When a second event occurs using second event informationrecorded in the markup document, the ENAV engine may not inform the AVplayback engine of the occurrence of the key input event.

[0019] The ENAV engine may include an interface handler that informs theAV playback engine of the occurrence of the key input event.

[0020] Additional aspects and advantages of the invention will be setforth in part in the description which follows and, in part, will beobvious from the description, or may be learned by practice of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021] These and/or other aspects and advantages of the invention willbecome apparent and more readily appreciated from the followingdescription of the embodiments, taken in conjunction with theaccompanying drawings of which:

[0022]FIG. 1 is a conceptional view of a playback system according to anembodiment of the present invention;

[0023]FIG. 2 is a top view of a remote control 400 of FIG. 1;

[0024]FIG. 3 is a block diagram of a playback device 200 of FIG. 1;

[0025]FIG. 4 is a partial block diagram to illustrate, in more detail,an embodiment of the operation of an enhanced audio video (ENAV) engine3 of FIG. 3;

[0026]FIG. 5 illustrates an example of an interactive screen inaccordance with an embodiment of the present invention;

[0027]FIGS. 6A and 6B illustrate “predetermined information on theoperations of the ENAV engine 3 and an AV playback engine 4” inaccordance with an embodiment of the present invention;

[0028]FIG. 7 is a flowchart illustrating operations of a method ofhandling a user input in an interactive mode, according to an embodimentof the present invention;

[0029]FIG. 8 is a flowchart illustrating operations of a method ofhandling a user input in an interactive mode, according to anotherembodiment of the present invention;

[0030]FIG. 9 is a flowchart illustrating operations of a method ofhandling a user input in an interactive mode, according to still anotherembodiment of the present invention;

[0031]FIG. 10 is a flowchart illustrating operations of a method ofhandling a user input in an interactive mode, according to yet anotherembodiment of the present invention; and

[0032]FIG. 11 is a flowchart illustrating operations of a method ofhandling a user input in an interactive mode, according to still yetanother embodiment of the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0033] Reference will now be made in detail to the present embodimentsof the present invention, examples of which are illustrated in theaccompanying drawings, wherein like reference numerals refer to the likeelements throughout. The embodiments are described below in order toexplain the present invention by referring to the figures.

[0034] The term ‘Interactive contents’ refers to all contents which aredisplayed or are displayable to a user in an interactive mode. In otherwords, the term “interactive contents” refers to contents which may beshown by AV data, markup documents, and program codes and/or resourcefiles inserted into or linked to the markup documents. For example, whenDVD-Video data is played back in an interactive mode, interactivecontents are largely classified into DVD-Video contents (AV contents)and markup documents. A ‘markup document’ is written in markup languagesuch as XML, HTML, or the like. In other words, the ‘markup document’indicates a markup resource including A.png, A.jpg, and A.mpeg linked toA.xml as well as A.xml. Thus, the markup document serves as anapplication necessary to play back AV data in an interactive mode and asinteractive contents which are displayed with AV data to the user.

[0035]FIG. 1 is a conceptional view of a playback system according to anembodiment of the present invention. Referring to FIG. 1, the playbacksystem includes a DVD 300 as an information storage medium, a playbackdevice 200, a TV 100 as a display device, and a remote control 400 as auser input device. The remote control 400 receives a user's controlcommand, and then transmits the user's control command to the playbackdevice 200. The playback device 200 plays back AV data recorded on theDVD 300 in an interactive mode. When the DVD 300 is loaded into a DVDdrive in the playback device 200 and a user chooses an interactive mode,the playback device 200 plays back the corresponding AV data in theinteractive mode using a corresponding markup document, and thentransmits the corresponding AV data to the TV 100. The TV 100 displaysan AV picture formed by AV data that has been played back together witha markup picture formed by a markup document by embedding the AV picturein the markup picture. The interactive mode refers to a mode in which anAV picture is displayed in a display window defined in a markupdocument, i.e., an AV picture is embedded in a markup picture. Here, theAV picture is formed by playing back DVD-Video data recorded on the DVD300, by the playback device 200, and then is displayed on the TV 100.The markup picture is formed by interpreting and implementing a markupdocument recorded on the DVD 300, by the playback device 200, and thenis displayed on the TV 100. The markup picture in which the AV pictureis embedded, i.e., a picture displayed in the interactive mode, iscalled an interactive picture. A “video mode” refers to a mode in whichAV data is played back as defined in conventional DVD-Video standards,i.e., only an AV picture formed by playing back corresponding AV data isdisplayed. In the embodiment of FIG. 1, the playback device 200 supportsthe interactive mode, the video mode, and a full-screen mode that is asub-display mode of the interactive mode. The full-screen mode is adisplay mode defined in Korean Patent Application No. 02-7031, entitled“Information Storage Medium on which Mode Display Information isRecorded, and Playing Back Apparatus and Method therefor”, filed on Feb.7, 2002 by the applicant of the present invention. The full-screen moderefers to a mode in which an AV picture is magnified and appears on theentire screen in an interactive mode. Furthermore, in the embodiment ofFIG. 1, the playback device 200 may fetch a markup document from anetwork.

[0036]FIG. 2 illustrates a top view of the remote control 400 of FIG. 1.Referring to FIG. 2, the remote control 400 includes various functionalkeys. A ‘TV’ button 41 is utilized to view a broadcast signal receivedfrom an external source via the TV 100. A ‘DVD’ button 42 is utilized toview a video title, according to the embodiment of FIG. 2, wherein thevideo title is AV data transmitted from the playback device 200 via theTV 100. Numeral/special character keys 43, used to choose channels, arearranged on an upper portion of the remote control 400. A ‘Setup’ button44 is a key utilized to call an on-screen display (OSD) menu to set upthe playback device 200, an ‘H/E’ button 45 is a language conversionkey, an ‘SP’ button 46 is a space key, and a ‘DEL’ button 47 is a deletekey. A ‘Screen’ button 48 is a key that is used to convert a displaymode of an AV picture into an interactive mode, i.e., from an embeddedmode to a full-screen mode, a ‘Menu’ button 49 is a key that is used tocall a menu screen, and a ‘Content’ button 50 is a key that is used todownload predetermined information from the Internet.

[0037] Reference numerals 52, 53, 54, and 55 denote an up key, a leftkey, a down key, and a right key, respectively, which are direction keysto move focus or highlighted information in the interactive picture. An‘OK’ button 51 is a key to select elements of a markup documentcontaining focus or highlighted information or a menu.

[0038] Reference numerals 56, 57, 58, 59, 60, and 61 denote a previewkey, a next key, a fastrewind key, a stop key, a play/pause key, and afastforward key, respectively, which are keys to play back the videotitle. When a video title is played back, a user may convert thelanguage of the audio portion using an ‘Audio’ button 62, language ofthe subtitles using a ‘Subtitle’ button 63, and the angle of a pictureusing an ‘Angle’ button 64.

[0039] A ‘Focus change’ button 65 is used to change to and fromdifferent domains in the interactive picture, i.e., to move a focus froman AV picture to a markup picture or from a markup picture to the AVpicture. When a user presses the ‘Focus change’ button 65, a user inputcorresponding to the button pressed is processed according to anembodiment of the present invention. The detailed descriptions of thisprocess will be explained later.

[0040] A ‘Return’ button 66 is used to move among hierarchies in a menuhaving a hierarchical structure. An ‘Exit’ button 67 is used to movefrom a menu screen to a playback screen of the video title. The remotecontrol 400 shown in FIG. 2 has been used as an example to specificallymanage the DVD 300 on which the video title is recorded. Therefore,detailed functional keys of the remote control 400 and the number of thefunctional keys may vary. Also, some of the functional keys may be putinto the OSD menu. Alternatively, some items of the OSD menu may berealized as the functional keys.

[0041]FIG. 3 is a block diagram of the playback device 200 of FIG. 1.Referring to FIG. 3, the playback device 200 includes a reader 2, anENAV engine 3, an AV playback engine 4, and a blender 7.

[0042] The reader 2 reads AV data, i.e., DVD-Video data and a markupdocument according to the present embodiment, from the DVD 300 inresponse to a control signal output from the ENAV engine 3. The markupdocument contains at least one of first event information, second eventinformation, and third event information as event information accordingto an embodiment of the present invention. The first event informationis used to control an AV picture in an interactive mode, i.e., the AVplayback engine 4's operation of playing back the DVD-Video data. Thesecond event information is used to prohibit a user input from beingtransmitted to the AV playback engine 4. The third event information isused to control the operation of the ENVA engine 3 when the user inputis forwarded to or prohibited from being forwarded to the AV playbackengine 4.

[0043] A first event occurs when the first event information is used, asecond event occurs when the second event information is used, and athird event occurs when the third event information is used.

[0044] The AV playback engine 4 plays back the read AV data. In anembodiment, since AV data is recorded as DVD-Video data, the AV playbackengine 4 is embodied as a DVD-Video data playback engine to play backDVD-Video data. The AV playback engine 4 communicates with the ENAVengine 3 via an application program interface (API). In other words, theAV playback engine 4 informs the ENAV engine 3 of a property of theoperational status thereof in response to a request made by the ENAVengine 3 and transmits a trigger to the ENAV engine 5. For example, whenthe movie ‘StarWars’ is shown in an interactive mode, the triggerinforms the ENAV engine 3, before or after a point of time at which awar scene is to be displayed, that a quiz corresponding to the war sceneis to be displayed in a markup picture when the war scene is displayedin an AV picture.

[0045] Moreover, when a key input event occurs via a predetermined keyof the remote control 400 pressed by the user, the AV playback engine 4receives the key input event via the ENAV engine 3. In other words, whenthe user presses the predetermined key of the remote control 400, thekey input event occurs and the AV playback engine 4 is informed of theoccurrence of the key input event so that the AV playback engine 4controls the DVD-Video data using the key input event. When the firstevent occurs, the AV playback engine 4 performs an operation defined bythe first event. However, as previously described, when the second eventoccurs, the AV playback engine 4 cannot be informed of the occurrence ofthe key input event from the user.

[0046] The ENVA engine 3 is an interpretation engine which verifies,interprets, and executes markup documents written in markup language,script language and/or other program languages. In an embodiment, theENAV engine 3 verifies, interprets, and lays out a markup document inorder to play back DVD-Video data which is recorded on the DVD 300 inthe interactive mode, in the interactive mode. In particular, when thefirst event information is recorded in the markup document and the firstevent occurs using the first event information, the ENAV engine 3informs the AV playback engine 4 of the occurrence of the first event.When the key input event corresponding to the user action occurs, theENAV engine 3 may inform, by default, the AV playback engine 4 of theoccurrence of the key input event. In a case wherein the second eventinformation is recorded in the markup document and the second eventoccurs using the second event information, the ENAV engine 3 mayprohibit the AV playback engine 4 from being informed of the occurrenceof the key input event corresponding to the user action. Furthermore, ina case wherein the third event information is recorded in the markupdocument and the third event occurs using the third event informationwhen the user input is forwarded directly to or prohibited from beingforwarded to the AV playback engine 4, the ENAV engine 3 performs anoperation corresponding to the third event.

[0047] The ENAV engine 3 may include various plug-ins. The plug-insenable files of various formats contained in or linked to the markupdocument to be opened. For example, the ENAV engine 3 may call a WINDOWSMEDIA PLAYER to play back the AV data for the windows media player.Also, the ENAV engine 3 may be connected to a network to fetch necessaryinformation such as markup documents or the like.

[0048] The blender 7 blends and outputs a DVD-Video stream that has beenplayed back with an interpreted markup document. Next, an interactivepicture including a markup picture 22 and an AV picture 21 is displayedon the TV 100.

[0049]FIG. 4 is a partial block diagram to illustrate, in more detail,the operation of the ENAV engine 3 of FIG. 3. Referring to FIG. 4, theENAV engine 3 includes a parser & interpreter 15, a decoder 25, and aninterface handler 35. When the key input event corresponding to the useraction occurs, the interface handler 35 is informed of the occurrence ofthe key input event corresponding to the user action and informs, bydefault, the AV playback engine 4 of the occurrence of the key inputevent.

[0050] The parser & interpreter 15 parses a markup document andinterprets the markup document and script codes recorded in the markupdocument. The script codes are used to control, dynamically, objectscontained in the markup document in an interactive mode. An event servesas a trigger to activate an event handler (function) to control theobjects. In other words, in an embodiment, the parser & interpreter 15interprets event information recorded in the markup document in markuplanguage and/or script language and transmits a corresponding command tothe interface handler 35 to handle the event according to theinterpreted event information.

[0051] The interface handler 35 converts a trigger transmitted from theAV playback engine 4 into an event that may be interpreted by the parser& interpreter 15, a status from the AV playback engine 4 into a propertythat may be understood by the parser & interpreter 15, and a commandfrom the parser & interpreter 15 into a control command that may behandled by the interface handler 35 or understood by the AV playbackengine 4.

[0052] In an embodiment, when the first event occurs using the firstevent information to control the AV picture in the interactive mode, theinterface handler 35 informs the AV playback engine 4 of the occurrenceof the first event. Also, when the key input event corresponding to theuser action occurs, the interface handler 35 transmits the controlcommand to the AV playback engine 4 through a path A using an APIcommand InputRCKey that has a KeyCode assigned to a key of the remotecontrol 400 as a parameter. In addition, when the second event occursusing the second event information, the interface handler 35 does notinform the AV playback engine 4 of the occurrence of the key inputevent, even though the key input event corresponding to the user actionoccurs. Furthermore, when a user input to control the markup document inthe interactive mode, i.e., the third event, occurs using the thirdevent information, the interface handler 35 transmits the user input tothe parser & interpreter 15 so that the parser & interpreter 15 mayperform an operation corresponding to the user input.

[0053] The decoder 25 decodes and renders interactive contents accordingto the command transmitted from the parser & interpreter 15. The term“renders” refers to controlling the layout of pages of a markup documentand the output of AV data.

[0054] Hereinafter, events according to an embodiment of the presentinvention will be described in detail. The first event informationincludes event registration information to check whether the userperforms an action corresponding to the first event and event handlinginformation to handle the first event by controlling the operation ofthe AV playback engine 4. Here, the first event information is recordedin the markup document so that the first event occurs, the eventregistration information is used to register the first event, and theevent handling information is used to handle the first event.

[0055] Example 1 of Realization of First Event

[0056] The registration of the first event is realized by a key inputevent listener to check whether the key input event occurs, and thehandling of the first event is realized by a key input event handler tocontrol the operation of the AV playback engine 4.

[0057] Example 2 of Realization of First Event

[0058] The registration of the first event is realized by an on-clickevent defined in markup language, and the handling of the first event isrealized by a function to allow the AV playback engine 4 to perform anoperation corresponding to the on-click event. Here, the key input eventhandler or the function serves to transmit a control commandcorresponding to a key or button pressed by a user to the AV playbackengine 4.

[0059] Source codes of a markup document according to Example 1 ofRealization of First Event are represented as follows: <?xml version=“1.0” encoding=“UTF-8”?> <!DOCTYPE html PUBLIC “-//DVD//DTD XHTML DVD-HTML 1.0//EN” “http://www.dvdforum.org/envideo/dtd/dvdhtml-1-0.dtd”><html> <head> <title>Example 1</title> <script type= “text/javascript”> function RcKeyEventHandler(evt)  {  if(evt.keyCode == 12) dvdVideo.InputRCKey(12); } </script> <script type= “text/javascript”>function setupEventHandler( ) { // eventHandler is registered tobodyNode and Interactive ContentsbodyNode.addEventListener(“rckeypress”,RcKeyEventHandler,true); }</script> </head> <body id=“bodyNode” onload=“setupEventHandler( )”..............................................................................</body> </html>

[0060] In the markup document according to Example 1 of Realization ofFirst Event, the event registration information is written in JavaScriptlanguage as follows: <script type= “text/javascript”> functionsetupEventHandler( ) { // eventHandler is registered to bodyNode andInteractive ContentsbodyNode.addEventListener(“rckeypress”,RcKeyEventHandler,true); }</script>

[0061] As may be seen in the above event registration information, whenan event ‘rckeypress’ occurs, i.e., a user presses a predetermined keyof the remote control 400, a function ‘RcKeyEventHandler’ is called.

[0062] The event handling information is written in JavaScript languageas follows: <script type= “text/javascript”>  functionRcKeyEventHandler(evt)  {  if(evt.keyCode == 12)  dvdVideo.InputRCKey(12);  } </script>

[0063] As may be seen in the above event handling information, afunction ‘RcKeyEventHandler’ executes dvdVideo.InputRCKey(12) when a keycode is 12. In other words, when a code assigned to a key pressed by auser is 12, the ENAV engine 3 transmits a corresponding control commandto the AV playback engine 4 using the command API dvdVideo.InputRCKey sothat the AV playback engine 4 performs a playback control operationassigned to the key code 12.

[0064] In other words, by registering a key input event of the remotecontrol 400 in the ‘body’ of a markup document, when the user presses akey of the remote control 400, the ENAV engine 3 is informed of theoccurrence of the key input event and informs the AV playback engine 4of the occurrence of the key input event. Playback of DVD-Video data maybe controlled by a method in which a control command corresponding tothe pressed key is transmitted to the AV playback engine 4 when a markupdocument maker chooses one of the keys of the remote control 400 and theuser presses the chosen key.

[0065] Source codes of a markup document according to Example 2 ofRealization of First Event are represented as follows: <?xml version=“1.0” encoding=“UTF-8”?> <!DOCTYPE html PUBLIC “-//DVD//DTD XHTML DVD-HTML 1.0//EN” “http://www.dvdforum.org/envideo/dtd/dvdhtml-1-0.dtd”><html> <head> <title>Example 2</title> <script type=“text/javascript”><--  function Btn_PlayPause( ) {     dvdVideo.InputRCKey(12); } --></script> </head> <body>  <table border=“0” width=“720” height=“480”><tr>  <td width=“277” height=“184” align=“left” valign=“top”> <objectdata=“dvd:” width=“277” height=“184” border=“0”/> </td> <td width=“443”height=“480” align=“left” valign=“top” rowspan=“2”> <img src=“b1.png”width=“443” height=“400 border=“0”/> <button name=“PlayPause”value=“PLAY/PAUSE” onclick=“Btn_PlayPause( )”> </td> </tr> <tr> <tdwidth=“277” height=“296”> <img src=“b2.png” width=“277” height=“296”border=“0”/> </td> </tr> </table> </body> </html>

[0066] In the markup document according to Example 2 of Realization ofFirst Event, the event registration information is written in markuplanguage as follows: <button name=“PlayPause ” value=“PLAY/PAUSE”onclick=“Btn_PlayPause( )”>

[0067] In other words, as shown in FIG. 5, when an on-click event occursin an interactive picture which is displayed with a markup picture 16that includes an AV picture 26 and a ‘Play/Pause’ key 36, i.e., a userpresses the Play/Pause key 36, a function ‘Btn_PlayPause( )’ is called.

[0068] The event handling information is written in JavaScript languageas follows: <script type=“text/javascript”> <--  function Btn_PlayPause() {     dvdVideo.InputRCKey(12); } --> </script>

[0069] As may be seen in the above event handling information, afunction ‘Btn_PlayPause’ executes an API commanddvdVideo.InputRCKey(12). In other words, when the user presses the‘Play/Pause’ key 36 displayed in the interactive picture, the ENAVengine 3 transmits a corresponding control command to the AV playbackengine 4 using the command API dvdVideo.InputRCKey so that the AVplayback engine 4 performs a playback control operation assigned to thekey code 12.

[0070] The playback of DVD-Video data may be controlled according to theintention of the interactive content maker using a method by which theAPI command dvdVideo.InputRCKey(keyCode) is connected to an onclick( )event of a button in a markup document so that a control commandcorresponding to the button is transmitted to the AV playback engine 4when the user clicks on the button.

[0071] As described above, when the AV playback engine 4 is informed ofthe occurrence of the key input event corresponding to the user actionby recording the first event information in the markup document, theinteractive content maker may transmit the user input to the AV playbackengine 4.

[0072] Without using a method by which the first event information isrecorded in the markup document to handle the key input event from theuser, the ENAV engine 3 may transmit a control command corresponding tothe key input event as the default to the AV playback engine 4 via theAPI command to handle the key input event.

[0073] The second event according to an embodiment of the presentinvention is realized by an API command EnableRCKInput( ). The APIcommand EnableRCKInput( ) is used as an interface between the AVplayback engine 4 and the ENAV engine 3 that support playing back ofinteractive contents recorded on the DVD 300, and is defined as follows:

[0074] [object]. EnableRCKeyInput(x)

[0075] 1. Summary

[0076] This command serves to prohibit the user input from beingtransmitted to the AV playback engine 4. In the present embodiment,{object} is dvdVideo.

[0077] 2. Parameter

[0078] x=0: disable

[0079] x=1: enable

[0080] 3. Return value Number Name Description 0 OK Successful −1GeneralError Unknown error condition

[0081] When the second event, i.e., EnableRCKeyInput (0), occurs usingthe second event information recorded in the markup document in scriptlanguage, the user input is transmitted to the ENAV engine 3 andprohibited from being transmitted to the AV playback engine 4. Forexample, if an interactive content maker desires to change the displayof a markup document according to a predetermined user input, he or shemakes a markup document containing the second event information togenerate the API command EnableRCKeyInput to prohibit the user inputfrom being transmitted to the AV playback engine 4.

[0082] An example of a document in which the second event information iswritten is shown as follows: <?xml version =“1.0” encoding=“UTF-8”?><!DOCTYPE html PUBLIC “-//DVD//DTD XHTML DVD- HTML 1.0//EN”“http://www.dvdforum.org/envideo/dtd/dvdhtml-1-0.dtd”> <html> <head><title>Prevent Default</title> <script type=“text/javascript”>  functionRcKeyEventHandler(evt)  {   switch(evt.keyCode)   {    case 23 :evt.preventDefault( );  case 24 : evt.preventDefault( );  case 25 :evt.preventDefault( );  case 26 : evt.preventDefault( );  case 27 :evt.preventDefault( );  }  } </script> <script type=“text/javascript”>function setupEventHandler( ) { // eventHandler is registered tobodyNode and Interactive ContentsbodyNode.addEventListener(“rckeypress”,RcKeyEventHandler,true); }</script> </head> <body id=bodyNode” onload=“setupEventHandler( )”.............................................................................</body> </html>

[0083] As seen in the above markup document, the AV playback engine 4,which handles the markup document in which the second event informationis written, does not perform operations corresponding to user inputs,i.e., inputs of the direction keys 52, 53, 54, and 55 in which defaultoperations are defined.

[0084] In such a situation, the content maker may further write thethird event information that defines the operation of the ENAV engine 3responding to desired user inputs.

[0085] The third event information enables the ENAV engine 3 to receivethe user input and perform a predetermined operation even though theuser input is directly transmitted to the AV playback engine 4. As willbe defined later with reference to FIGS. 6A and 6B, the third eventinformation does not define any default operations except the ‘OK’ key51 and the direction keys 52, 53, 54, and 55. Thus, even when any userinputs an instruction other than the ‘OK’ key 51 and the direction keys52, 53, 54, and 55, the ENAV engine 3 does not operate. However, themarkup document maker may record the third event information in themarkup document so that the defined default operations are notperformed. As a result, although the user presses the ‘OK’ key 51 andthe direction keys 52, 53, 54, and 55, focus and highlight informationare not moved.

[0086]FIGS. 6A and 6B each illustrate an example of “predeterminedinformation concerning the operations of the AV playback engine 4 andthe ENAV engine 3”.

[0087] The “predetermined information on the operations of the AVplayback engine 4 and the ENAV engine 3” defines the operation of the AVplayback engine 4 and/or the ENAV engine 3 when the user presses keys ofthe remote control 400, i.e., a key input event RCKeyEvent correspondingto a user action occurs. As defined above, in a case wherein theoperations of the AV playback engine 4 and the ENAV engine 3 are definedto correspond to the keys of the remote control 400, a playback devicemaker and a content maker are highly likely to exist separately. Even inthis case, a playback device and contents made according to the“predetermined information on the operations of the AV playback engine 4and the ENAV engine 3” are most likely to match. Also, even if aplurality of content makers exist, when contents are made using a userinput handling method according to the present invention based on the“predetermined information on the operations of the AV playback engine 4and the ENAV engine 3”, the contents may match with the AV playbackengine 4 and be suitable for further interactively controlling AVcontents and markup contents.

[0088] As may be seen in FIGS. 6A and 6B, default operations of the ENAVengine 3 are mostly undefined. An interactive content maker may make amarkup document using script language so that the ENAV engine 3 performsdesired operations. A property ‘keyCode’ indicates predetermined keycodes of keys pressed by a user and a property ‘keyName’ indicates namesof the pressed keys. The descriptions of the operation of the AVplayback engine 4 are based on “DVD-Video Specifications for Read OnlyDisc/Part 3. Video Specifications Version 1.0”.

[0089] Notes 1), 2), 3), 4), 5), 6), 7), and 8) are explained below.

[0090] Note 1) Keys for which default operations of the ENAV engine 3are not set may be used as connection keys capable of directly focusingspecific elements by using the property ‘keyCode’ or ‘keyName’ as an‘accesskey’ property value in a markup document.

[0091] Note 2) For the ‘Screen’ key 48, default operations of the ENAVengine 3 are not defined. However, if a markup document is made, inwhich script codes to support a full-screen mode in an interactive mode(embedment mode) are written, the following operations will be defined.

[0092] [object]. FullScreen(x)

[0093] 1. Summary

[0094] DVD-Video data is set to an embedded mode or a full-screen mode.In the present embodiment, [object] is dvdVideo.

[0095] 2. Parameter

[0096] x=0: set to an embedded mode

[0097] x=1: set to a full-screen mode

[0098] 3. Return Value Number Name Description 0 OK Successful −1General error Unknown error condition

[0099] Note 3) A focus moves to an object element of elements of amarkup document embedding DVD-Video data and returns to a state fornavigating DVD-Video data. In other words, highlighted information maybe moved by the direction keys 52, 53, 54, and 55 shown in FIG. 2, andthen a corresponding menu may be selected by the ‘OK’ key 51 orDVD-Video data may be navigated by DVD playback control keys. An exampleof a method of navigating DVD-Video data is described in detail inKorean Patent Application No. 02-37515, entitled “Focusing Method inInteractive mode, and Apparatus and Information Storage MediumTherefor”, filed on Jun. 27, 2002 by the applicant of the presentinvention.

[0100] When DVD-Video data has already been navigated, the focus movesto the previously focused element of the markup document.

[0101] Note 4) The ‘Play/Pause’ key 60 complies with the followingalgorithm to play back DVD-Video data and pause the playback ofDVD-Video data. When the operation of the AV playback engine 4, i.e.,the playback of DVD-Video data, stops, a first playback program chain ofDVD-Video data is played back. When DVD-Video data is being played back,a ‘Pause_On( )’ operation is carried out. When the playback of DVD-Videodata pauses, a Pause_Off( ) operation is performed. The ‘Pause_On( ) andPause_Off( )’ operations are user operation functions defined in“DVD-Video Specifications for Read Only Disc/Part 3. VideoSpecifications Version 1.0”.

[0102] Note 5) A title is played back by moving from a current part oftitle (PTT) number to a previous PTT number. If a PTT number one lessthan the current PTT number does not exist in the title, the last PTTnumber of a previous part of the title is played back. The title isplayed back by moving a first PTT number that is the smallest titlenumber to a last PTT number that is the largest title number. PTTnumbers are described in detail in the “DVD-Video Specifications forRead Only Disc/Part 3. Video Specifications Version 1.0”.

[0103] Note 6) A title is played back by moving a current PTT number toa next PTT number. If a PTT number one greater than the current PTTnumber does not exist in the title, a first PTT number of a next part ofthe title is played back. The title is played back by moving a last PTTnumber that is the largest title number to a first PTT number that thesmallest title number.

[0104] Note 7) The change of a sub picture is performed. The sub pictureis basically set so that it is not to be displayed on a screen. Thus, ifa user desires to display the sub picture on the screen, the user has tochange the defaults on the playback device 200 to display the subpicture. Then, a specific sub picture stream having one of sub picturestream numbers 0 through 31, set in the playback device 200, isdisplayed. Whenever the user presses the ‘Subtitle’ key 63, a subpicture stream, which has a sub picture stream number obtained by adding1 to the specific sub picture stream number, is displayed. However, thesub picture stream always has the sub picture stream number zero afterthe last sub picture stream number. Changing the sub picture isdescribed in detail in the “DVD-Video Specifications for Read OnlyDisc/Part 3. Video Specifications Version 1.0”.

[0105] Note 8) The change of an angle of a picture is carried out. Thedefault is set to display the picture starting from an angle number 1.Whenever the user presses the ‘Angle’ key 64 to change a current angle,an angle number obtained by adding 1 to the current angle number isdisplayed. When the user re-presses the ‘Angle’ key 64 when the lastangle number is displayed, the last angle number is changed into theangle number 1. Changing the angle is explained in detail in the“DVD-Video Specifications for Read Only Disc/Part 3. VideoSpecifications Version 1.0”.

[0106] Note 9) A change in audio preferences is performed. The basicdefault of the audio settings is set not to include or select an audiostream. After the audio stream is selected, an audio stream having anaudio stream number obtained by adding 1 to a current audio streamnumber is displayed whenever the user presses the ‘Audio’ key 62. Whenthe user re-presses the ‘Audio’ key 62 while a last audio stream numberis being displayed, the last audio stream number is changed into theaudio stream number 1. Changing the audio stream is described in detailin the “DVD-Video Specifications for Read Only Disc/Part 3. VideoSpecifications Version 1.0”.

[0107] The operations of the keys of ‘RCKeyEvent’ are defined below:interface RCKeyEvent : UIEvent { const unsigned long VK_0 = 0; //keyCode is “0”, keyName is “0” const unsigned long VK_1 = 1; // “1”const unsigned long VK_2 = 2; // “2” const unsigned long VK_3 = 3; //“3” const unsigned long VK_4 = 4; // “4” const unsigned long VK_5 = 5;// “5” const unsigned long VK_6 = 6; // “6” const unsigned long VK_7 =7; // “7” const unsigned long VK_8 = 8; // “8” const unsigned long VK_9= 9; // “9” const unsigned long VK_A = 10; // keyCode is “10”, keyNameis “A” const unsigned long VK_B = 11; // “B” const unsigned longVK_PLAY_PAUSE = 12; // “PlayPause” const unsigned long VK_STOP = 13; //“Stop” const unsigned long VK_FF= 14; // “FastForward” const unsignedlong VK_FR= 15; // “FastRewind” const unsigned long VK_SKIP_PREV = 16;// “Prev” const unsigned long VK_SKIP_NEXT = 17; // “Next” constunsigned long VK_SUBTITLE = 18; // “Subtitle” const unsigned longVK_ANGLE = 19; // “Angle” const unsigned long VK_AUDIO = 20; // “Audio”const unsigned long VK_ROOTMENU = 21; // “RootMenu” const unsigned longVK_TITLEMENU = 22; // “TitleMenu” const unsigned long VK_UP = 23; //“Up” const unsigned long VK_LEFT = 24; // “Left” const unsigned longVK_RIGHT = 25; // “Right” const unsigned long VK_DOWN = 26; // “Down”const unsigned long VK_OK = 27; // “OK” const unsigned long VK_RETURN =28; // “Return” const unsigned long VK_EXIT = 29; // “Exit” constunsigned long VK_CONTENT_INFO = 30; // “Content” const unsigned longVK_SCREEN_MODE = 31; // “Screen” const unsigned long VK_FOCUS_CHANGE =32; // “FocusChange” readonly attribute unsigned long keyCode; readonlyattribute DOMString keyName; void initRCKeyEvent (in DOMString typeArg,in boolean canBubbleArg, in boolean cancelableArg, in unsigned longkeyCode, in unsigned long keyName);

[0108] A method of handling user inputs in an interactive mode accordingto an embodiment of the present invention will be described below, basedon the above-described structure.

[0109]FIG. 7 is a flowchart to illustrate operations of a method ofhandling a user input in an interactive mode, according to an embodimentof the present invention. Referring to FIG. 7, in operation 701, adetermination is made as to whether a key input event occurs as a firstevent according to first event information recorded in a markup documentor via a predetermined key of the remote control 400 pressed by a user.If in operation 701, it is determined that the key input event occurs,in operation 702, the AV playback engine 4 is informed of the occurrenceof the key input event via the ENAV engine 3. In operation 703, adetermination is made as to whether a second event occurs. If inoperation 703, it is determined that the second event occurs, inoperation 704, the ENAV engine 3 prohibits the AV playback engine 4 frombeing directly informed of the occurrence of the key input event.

[0110] Meanwhile, if in operation 703, the key input event matches withthe second event information recorded in the markup document so that thesecond event occurs, in operation 704, the ENAV engine 3 transmits acontrol command corresponding to the second event to the AV playbackengine 4.

[0111]FIG. 8 is a flowchart to illustrate operations of a method ofhandling a user input in an interactive mode, according to anotherembodiment of the present invention. Referring to FIG. 8, in operation801, a determination is made as to whether a key input event occurs as afirst event according to first event information recorded in a markupdocument or via a predetermined key of the remote control 400 pressed bya user. If in operation 801, it is determined that the key input eventoccurs, in operation 802, the AV playback engine 4 is informed of theoccurrence of the key input event via the ENAV engine 3. In operation803, a determination is made as to whether a third event occurs. If inoperation 803, it is determined that the third event occurs, inoperation 804, the ENAV engine 3 performs a predetermined operationcorresponding to the third event.

[0112]FIG. 9 is a flowchart to illustrate operations of a method ofhandling a user input in an interactive mode, according to still anotherembodiment of the present invention. Referring to FIG. 9, in operation901, a user presses a predetermined key of the remote control 400. Inoperation 902, a key input event occurs. In operation 903, the interfacehandler 35 of the ENAV engine 3 handles the key input event bytransmitting a playback control command corresponding to the key inputevent to the AV playback engine 4.

[0113]FIG. 10 is a flowchart to illustrate operations of a method ofhandling a user input in an interactive mode, according to yet anotherembodiment of the present invention. Referring to FIG. 10, in operation1001, a user presses a predetermined key of the remote control 400. Inoperation 1002, a key input event occurs and the interface handler 35 ofthe ENAV engine 3 is informed of the occurrence of the key input event,and the interface handler 35 of the ENAV engine 3 informs the AVplayback engine 4 of the occurrence of the key input event. In operation1003, the AV playback engine 4 performs an operation corresponding tothe key input event. For example, when the user presses the ‘fasffoward’key 61, the AV playback engine 4 performs a ‘FORWARD_SCAN(SPEED)’operation according to the “predetermined information on the operationsof the ENAV engine 3 and the AV playback engine 4” illustrated in FIGS.6A and 6B.

[0114]FIG. 11 is a flowchart to illustrate operations of a method ofhandling a user input in an interactive mode, according to still yetanother embodiment of the present invention. Referring to FIG. 11, inoperation 1101, a user clicks on a button made in a markup document. Inoperation 1102, an onclick event occurs. In operation 1103, theinterface handler 35 of the ENAV engine 3 handles the onclick event bytransmitting a playback control command corresponding to the onclickevent to the AV playback engine 4.

[0115] As described above, the present invention provides a method ofeffectively handling interactive contents using a limited user inputdevice in an interactive mode, and an apparatus and information storagemedium therefor. Accordingly, a user input may be transmitted to an ENAVengine, and then the ENAV engine may transmit a playback control commandcorresponding to the user input to an AV playback engine, or the userinput may be transmitted directly to the AV playback engine withoutpassing through the ENAV engine. As a result, markup and AV contents maybe interactively controlled in the interactive mode.

[0116] In other words, conventional modes and definitions for userinputs used by a markup document viewer to interpret and display amarkup document, e.g., a browser, may be employed in the presentinvention. Also, user inputs may be effectively handled in theinteractive mode. Therefore, a user may conveniently navigate aninteractive picture (a markup picture and an AV picture) or control anobject (contained in the markup document) displayed in the interactivepicture without confusing a key input.

[0117] The above-described method of handling a user input in aninteractive mode may be written as a computer program. Codes and codesegments of the computer program may be easily analogized by a computerprogram. Also, the computer program is stored in a computer-readablemedium and is read and executed by a computer so that the method ofhandling a user input in an interactive is realized. Computer-readablemedia may include magnetic recording media, optical recording media, andcarrier wave media.

[0118] Although a few embodiments of the present invention have beenshown and described, it would be appreciated by those skilled in the artthat changes may be made in this embodiment without departing from theprinciples and spirit of the invention, the scope of which is defined inthe claims and their equivalents.

What is claimed is:
 1. An apparatus to reproduce AV data in aninteractive mode, the apparatus comprising: an AV playback engine thatplays back the AV data; and an ENAV engine that interprets and executesa markup document; wherein, when a key input event corresponding to auser action occurs, the ENAV engine informs, by default, the AV playbackengine of the occurrence of the key input event.
 2. The apparatus ofclaim 1, wherein the ENAV engine allows the key input event to occurusing first event information written in the markup document.
 3. Theapparatus of claim 1, wherein the ENAV engine generates an API commandto control the AV playback engine, in response to the key input eventcorresponding to the user action.
 4. The apparatus of claim 1, wherein,when a second event occurs using second event information recorded inthe markup document, the ENAV engine refrains from informing the AVplayback engine of the occurrence of the key input event.
 5. Theapparatus of claim 1, wherein, when the key input event occurs using thefirst event information, the ENAV engine transmits a playback controlcommand corresponding to the key input event to the AV playback engineto handle the key input event.
 6. The apparatus of claim 1, wherein whenan onclick event occurs using the first event information, the ENAVengine transmits a playback control command corresponding to the onclickevent to the AV playback engine to handle the onclick event.
 7. Theapparatus of claim 1, wherein the ENAV engine comprises an interfacehandler that informs the AV playback engine of the occurrence of the keyinput event.
 8. A playback device, comprising: a reader to read AV data;an ENAV engine, coupled to the reader, a blender and an AV playbackengine, the ENAV engine outputting a key input event signal to the AVplayback engine in accordance with user input, receiving a triggersignal from the AV playback engine, sending a control signal to the AVplayback engine, and receiving a markup document, verifying,interpreting, executing and sending an interpreted markup document tothe blender in accordance with the trigger signal; the AV playbackengine, coupled to the ENAV engine, the blender and the reader, to, uponreceiving the key input event signal from the ENAV engine anddetermining a point in time required to trigger the markup document,send the trigger signal to the ENAV engine, and control play back ofDVD-Video data in accordance with the key input event signal from theENAV engine; and the blender, coupled to the ENAV engine and the AVplayback engine, to blend and output a DVD-Video stream that has beenplayed back with the interpreted markup document.
 9. The playback deviceof claim 8, wherein the AV data includes DVD-Video data and a markupdocument.
 10. The playback device of claim 8, wherein the playbackdevice operates in one of: an interactive mode, a video mode, and afull-screen mode that is a sub-display of the interactive mode.
 11. Theplayback device of claim 8, wherein the playback device fetches a markupdocument from a network.
 12. The playback device of claim 8, wherein oneof: when a first event information is recorded in the markup documentand a first event occurs using the first event information, the ENAVengine informs the AV playback engine of the occurrence of the firstevent; when a key input event corresponding to a user action occurs, theENAV engine informs, by default, the AV playback engine of theoccurrence of the key input event; when second event information isrecorded in the markup document and a second event occurs using thesecond event information, the ENAV engine prohibits the AV playbackengine from being informed of the occurrence of the key input eventcorresponding to user action of the second event; and when third eventinformation is recorded in the markup document and a third event occursusing the third event information when the user input is forwardeddirectly to or prohibited from being forwarded to the AV playbackengine, the ENAV engine performs an operation corresponding to the thirdevent.
 13. The playback device of claim 8, wherein the ENAV enginecomprises: a parser and interpreter; an interface handler, coupled toreceive user input, to the parser and interpreter, to the AV playbackengine, and to a decoder; and the decoder, coupled to the parser andinterpreter and to the interface handler.